package org.gitman.agentplatform.agent.api;

import java.util.Collection;

import org.gitman.agentplatform.model.Graph;

public interface Agent extends Comparable<Agent>{
	public void init(String args);
	public Integer getId();
	public void setId(Integer id);
	public void handleMessage(Message message);
	public Message getMessage();
	public AgentInfo getAgentInfo();
	public void setAgentInfo(AgentInfo agentInfo);
	public Integer getStep(Collection<AgentInfo> agentsInRange);
	public AgentPlan getPlan(int depth, Collection<AgentInfo> agentsInRange);
	public void setGraph(Graph graph);
}
